#ifndef VISUAL_STIMULUS_H
#define VISUAL_STIMULUS_H

#include "Stimulus.h"

class VisualStimulus : public Stimulus
{
public:
	enum Mode
	{
		ShowHide,
		Intensify,
		Grayscale,
		Invert,
		Dim,
	};

	VisualStimulus();
	virtual ~VisualStimulus();

	// properties
	VisualStimulus& SetPresentationMode(Mode m);
	Mode PresentationMode() const;
	VisualStimulus& SetDimFactor(float);
	float DimFactor() const;

protected:
	virtual void OnPresent();
	virtual void OnConceal();

	bool BeingPresented() const;

private:
	Mode	mPresentationMode;
	float	mDimFactor;
	bool	mBeingPresented;
};

#endif